package uade.distribuidas.server.domain;
import java.util.ArrayList;
import java.util.List;

import javax.persistence.CascadeType;
import javax.persistence.DiscriminatorValue;
import javax.persistence.Entity;
import javax.persistence.JoinColumn;
import javax.persistence.OneToMany;

import uade.distribuidas.repo.dto.MercaderiaDTO;
import uade.distribuidas.repo.dto.OrdenCompraDTO;
import uade.distribuidas.repo.dto.RemitoPROVDTO;
/**
 * 
 */
@Entity
@DiscriminatorValue("prov")
public class RemitoPROV  extends Remito {

	@OneToMany(cascade=CascadeType.ALL)
	@JoinColumn(name="idremito")
	private List<OrdenCompra> ordenes;

	public RemitoPROV() {
		super();
		// TODO Auto-generated constructor stub
	}

	public List<OrdenCompra> getOrdenes() {
		return ordenes;
	}

	public void setOrdenes(List<OrdenCompra> ordenes) {
		this.ordenes = ordenes;
	}
	
    public RemitoPROVDTO getVista(){
    	RemitoPROVDTO dto = new RemitoPROVDTO();
    	dto.setConformidad(this.getConformidad());
    	dto.setEmision(this.getEmision());
    	dto.setId(this.getId());
    	dto.setNumero(this.getNumero());
    	List<OrdenCompraDTO> ordenes=new ArrayList<OrdenCompraDTO>();
    	for(OrdenCompra c:this.getOrdenes()){
    		ordenes.add(c.getVista());
    	}
    	dto.setOrdenes(ordenes);
    	List<MercaderiaDTO> ventas=new ArrayList<MercaderiaDTO>();
    	for(Mercaderia c:this.getItems()){
    		ventas.add(c.getVista());
    	}
    	dto.setItems(ventas);
    	return dto;
    }
	
    
}
